package jishiti;

import java.util.Scanner;

/**
 * 输入一个自然数，若为偶数，则把它处以2，若为奇数，则把它乘以3再加1，经过如此
 * 有限次运算后，可以得到自然数1，求经过多少次可以得到自然数1
 */
public class Digui {
    static int step = 0;
    public static void main(String[] args) {
        System.out.println("输入一个自然数：");
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int x = f(n);
        System.out.println();
        System.out.println("step="+x);
    }
    private static int f(int n) {
//       输出数值
        System.out.println(n+"");
//        进行计数+1
        step++;
        if (n==1){
            return step;
        }
        //对数值进行运算
        if(n%2==0){
            n/=2;
            return f(n);
        }else {
            n=n*3+1;
            return f(n);
        }
    }
}
